package com.crl.ui.controls.pages
{
	import flash.events.IEventDispatcher;
	
	/**
	 * 可分页接口;(主要为本地分页和远程分页)
	 * @author crl
	 * 
	 */	
	public interface IPageable extends IEventDispatcher
	{
		/**
		 * 上一页.
		 * 
		 */		
		function previousPage():void;
		
		/**
		 * 下一页.
		 * 
		 */		
		function nextPage():void;
		
		/**
		 * 取得分页中,一个可包含多少条数据; 
		
		 * @return 
		 * 
		 */		
		function get pageCount():uint;
		
		/**
		  * 设置一页有几条数据; 
		 * @param value
		 * 
		 */		
		function set pageCount(value:uint):void;
		
		/**
		 * 数据长度.
		 * @return 
		 * 
		 */		
		function size():uint;
		
		/**
		 * 设置当前页码
		 * @param value
		 * 
		 */		
		function set currentPage(value:uint):void;
		
		/**
		 * 取得当前页码; 
		 * @return 
		 * 
		 */		
		function get currentPage():uint;
		
		function get currentPageData():Array;
		
		/**
		 * 总页数.
		 * @return 
		 * 
		 */		
		function get totalPage():uint;
		
		/**
		 * 是(true)否(false)存在下一页. 
		 * @return 
		 * 
		 */		
		function get hasNextPage() :Boolean;
		
		/**
		 * 是(true)否(false)存在上一页 
		 * @return 
		 * 
		 */		
		function get hasPreviousPage() :Boolean;
	}
}